home *** CD-ROM | disk | FTP | other *** search
/ Computer Inter@ctive 17 / Computer Interactive cdrom 17 - gen 99.iso / ZDNETIT / CONTENT / OPTIVDOS.ZIP / INCLUDE.ZIP / VESTD.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-21  |  19.2 KB  |  464 lines

  1. /*  VEstd.h
  2.  
  3.   vector management functions:
  4.   manipulations on whole arrays or vectors of data type "extended"
  5.   (real numbers: long double)
  6.  
  7.   Copyright (c) 1996-1998 by Martin Sander
  8.   All Rights Reserved.
  9. */
  10.  
  11. #ifndef __VESTD_H
  12. #define __VESTD_H
  13. #if !defined( __VECLIB_H )
  14. #include <VecLib.h>
  15. #endif
  16.  
  17.  
  18. #ifdef __BORLANDC__   /* 80-bit IEEE numbers supported:
  19.                          the following 250 lines apply
  20.                          only to Borland C++  */
  21.  
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25.  
  26. /*************************  Generation  **************************/
  27.  
  28. eVector   __vf  VE_vector( ui size );
  29. eVector   __vf  VE_vector0( ui size );
  30.  
  31. /***************  Addressing single vector elements ******************/
  32.  
  33. extended _VFAR * VE_Pelement( eVector X, ui n );
  34.       /* returns a pointer to the n'th element of X. For the memory model
  35.          HUGE, the pointer is normalized. */
  36. #define VE_element( X, n )  (*VE_Pelement( X, n ))
  37.  
  38. /*******************  Initialization **********************************/
  39.  
  40. void  __vf  VE_equ0( eVector X, ui size );
  41. void  __vf  VE_equ1( eVector X, ui size );
  42. void  __vf  VE_equC( eVector X, ui size, extended C );
  43. void  __vf  VE_equV( eVector Y, eVector X, ui size );
  44. void  __vf  VEx_equV( eVector Y, eVector X, ui size,
  45.                                        extended A, extended B );
  46. void  __vf  VE_ramp( eVector X, ui size,
  47.                                     extended Start, extended Rise );
  48. void  __vf  VE_Parzen( eVector X, ui size );
  49. void  __vf  VE_Welch( eVector X, ui size );
  50. void  __vf  VE_Hanning( eVector X, ui size );
  51. void  __vf  VE_comb( eVector X, ui size, unsigned step, extended C );
  52. long  __vf  VE_random( eVector X, ui size, long seed,
  53.                        extended MinVal, extended MaxVal );
  54. long  __vf  VE_noise( eVector X, ui size, long seed, extended Amp );
  55.             /* VE_random and VE_noise return a new seed value.
  56.                random quality of VE_random is much better      */
  57.  
  58. /***************  Data-type interconversions  *************************/
  59.        /* for rounding functions, see VEmath.h ! */
  60.  
  61. void  __vf   V_SItoE(  eVector Y, siVector X, ui size );
  62. void  __vf   V_ItoE(   eVector Y, iVector  X, ui size );
  63. void  __vf   V_LItoE(  eVector Y, liVector X, ui size );
  64. void  __vf   V_QItoE(  eVector Y, qiVector X, ui size );
  65.  
  66. void  __vf   V_UStoE(  eVector Y, usVector X, ui size );
  67. void  __vf   V_UtoE(   eVector Y, uVector  X, ui size );
  68. void  __vf   V_ULtoE(  eVector Y, ulVector X, ui size );
  69.  
  70. void  __vf   V_FtoE( eVector Y, fVector X, ui size );
  71. void  __vf   V_EtoF( fVector Y, eVector X, ui size );
  72. void  __vf   V_DtoE( eVector Y, dVector X, ui size );
  73. void  __vf   V_EtoD( dVector Y, eVector X, ui size );
  74.  
  75.  
  76. /****************  Index-oriented manipulations ***********************/
  77.  
  78.  
  79. void  __vf  VE_reflect( eVector X, ui size );
  80. void  __vf  VE_rev( eVector Y, eVector X, ui size );
  81. #if defined (V_HUGE)
  82.     void  __vf  VE_rotate( eVector Y, eVector X, ui size, long pos );
  83. #else
  84.     void  __vf  VE_rotate( eVector Y, eVector X, ui size, int pos );
  85. #endif
  86. void  __vf  VE_delete( eVector X, ui size, ui pos );
  87. void  __vf  VE_insert( eVector X, ui size, ui pos, extended C );
  88. void  __vf  VE_sort( eVector Y, eVector X, ui size, int dir );
  89. void  __vf  VE_sortind( uiVector Ind, eVector X, ui size, int dir );
  90. void  __vf  VE_subvector( eVector Y, ui sizey, eVector X, int step );
  91. void  __vf  VE_indpick( eVector Y, uiVector Ind, ui sizey, eVector X );
  92. void  __vf  VE_indput(  eVector Y, eVector X, uiVector Ind, ui sizex );
  93. void  __vf  VE_indpick( eVector Y, uiVector Ind, ui size, eVector X );
  94. ui    __vf  VE_searchC( eVector X, ui size, extended C, int mode );
  95. void  __vf  VE_searchV( uiVector Ind, eVector X, ui sizex,
  96.                                      eVector Tab, ui sizetab, int mode );
  97.  
  98. void  __vf  VE_polyinterpol( eVector Y, eVector X, ui sizex,
  99.                    eVector XTab, eVector YTab, ui sizetab, unsigned deg );
  100. void  __vf  VE_ratinterpol( eVector Y, eVector X, ui sizex,
  101.                    eVector XTab, eVector YTab, ui sizetab, unsigned deg );
  102. void  __vf  VE_splinederiv2( eVector Y2, eVector XTab, eVector YTab,
  103.                    ui size, int specify, extended Yp0, extended Ypn );
  104. void  __vf  VE_splineinterpol( eVector Y, eVector X, ui sizex,
  105.                    eVector XTab, eVector YTab, eVector Y2Tab, ui sizetab );
  106.  
  107.  
  108. /***************** Functions of a sub-set of elements  ********************/
  109.  
  110. void  __vf  VE_subvector_equC(  eVector Y, ui subsiz, unsigned samp, extended C );
  111. void  __vf  VE_subvector_equV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  112.     /*   for arithmetic functions of subsets, see <VEmath.h>  */
  113.  
  114.  
  115. /**************** One-Dimensional Vector Operations ***********************/
  116.  
  117. extended      __vf  VE_max( eVector X, ui size );
  118. extended      __vf  VE_min( eVector X, ui size );
  119. extended      __vf  VE_absmax( eVector X, ui size );
  120. extended      __vf  VE_absmin( eVector X, ui size );
  121. extended      __vf  VE_maxind( ui _VFAR *Ind, eVector X, ui size );
  122. extended      __vf  VE_minind( ui _VFAR *Ind, eVector X, ui size );
  123. extended      __vf  VE_absmaxind( ui _VFAR *Ind, eVector X, ui size );
  124. extended      __vf  VE_absminind( ui _VFAR *Ind, eVector X, ui size );
  125. ui            __vf  VE_localmaxima( uiVector Ind, eVector X, ui size );
  126. ui            __vf  VE_localminima( uiVector Ind, eVector X, ui size );
  127. void          __vf  VE_runmax( eVector Y, eVector X, ui size );
  128. void          __vf  VE_runmin( eVector Y, eVector X, ui size );
  129. extended      __vf  VE_sum( eVector X, ui size );
  130. extended      __vf  VE_prod( eVector X, ui size );
  131. void          __vf  VE_runsum( eVector Y, eVector X, ui size );
  132. void          __vf  VE_runprod( eVector Y, eVector X, ui size );
  133. int           __vf  VE_iselementC( eVector Tab, ui size, extended C );
  134. ui            __vf  VE_iselementV( eVector Y, eVector X, ui sizex,
  135.                                    eVector Tab, ui sizetab );
  136.  
  137. /**************** Statistical Functions and Building Blocks *************/
  138.  
  139. extended __vf  VE_sumabs( eVector X, ui size );
  140. extended __vf  VE_mean( eVector X, ui size );
  141. extended __vf  VE_meanwW( eVector X, eVector Wt, ui size );
  142. extended __vf  VE_meanabs( eVector X, ui size );
  143. extended __vf  VE_selected_mean( ui _VFAR *nsel, eVector X, ui size,
  144.                 extended XMin, extended XMax ); /* takes only x with Min<=x<=Max */
  145. extended __vf  VE_median( eVector X, ui size );
  146. extended __vf  VE_sumdevC( eVector X, ui size, extended C );
  147. extended __vf  VE_sumdevV( eVector X, eVector Y, ui size );
  148. extended __vf  VE_avdevC( eVector X, ui size, extended C );
  149. extended __vf  VE_avdevV( eVector X, eVector Y, ui size );
  150. extended __vf  VE_ssq( eVector X, ui size );
  151. extended __vf  VE_rms( eVector X, ui size );
  152. extended __vf  VE_ssqdevC( eVector X, ui size, extended C );
  153. extended __vf  VE_ssqdevV( eVector X, eVector Y, ui size );
  154. extended __vf  VE_meanvar(  extended _VFAR *Var, eVector X, ui size );
  155. extended __vf  VE_meanvarwW(  extended _VFAR *Var, eVector X, eVector Wt, ui size );
  156. extended __vf  VE_varianceC( eVector X, ui size, extended C );
  157. extended __vf  VE_varianceV( eVector X, eVector Y, ui size );
  158. extended __vf  VE_varianceCwW( eVector X, eVector Wt, ui size, extended C );
  159. extended __vf  VE_varianceVwW( eVector X, eVector Y, eVector Wt, ui size );
  160. extended __vf  VE_chi2( eVector X, eVector Y, eVector InvVar, ui size );
  161. extended __vf  VE_chiabs( eVector X, eVector Y, eVector Wt, ui size );
  162. extended __vf  VE_corrcoeff( eVector X, eVector Y, ui size,
  163.                              extended Xmean, extended Ymean );
  164. ui    __vf  VE_distribution( uiVector Abund, eVector Limits, ui nbins,
  165.                              eVector X, ui sizex, int mode );
  166.  
  167. void  __vf  VE_linregress( eVector Param, eVector X, eVector Y, ui size );
  168. void  __vf  VE_linregresswW( eVector Param, eVector X, eVector Y,
  169.                              eVector InvVar, ui size );
  170.      /* more (linear and nonlinear) data fitting routines need MatrixLib
  171.         and are declared in <MEstd.h> !                                */
  172.  
  173.  
  174. /*********  Fourier Transforms, Convolutions, Filtering  ****************/
  175.  
  176. void      __vf   VE_setRspEdit( eComplex Trunc );
  177. eComplex  __vf   VE_getRspEdit( void );
  178. void  __vf    VEl_FFT( eVector Y, eVector X, ui size, int dir );
  179. void  __vf    VEl_filter( eVector Y, eVector X, eVector Flt, ui size );
  180. void  __vf    VEl_autocorr( eVector Y, eVector X, ui size );
  181. void  __vf    VEl_xcorr( eVector Z, eVector X, eVector Y, ui size );
  182. extended __vf VEl_spectrum( eVector Spc, ui specsiz, eVector X, ui xsiz,
  183.                             eVector Win );
  184.                            /* xsiz >= n*specsiz,  Winsiz = 2*specsiz ! */
  185. void  __vf    VEl_convolve( eVector Y, eVector Flt, eVector X,
  186.                             eVector Rsp, ui size );
  187. void  __vf    VEl_deconvolve( eVector Y, eVector Flt, eVector X,
  188.                             eVector Rsp, ui size );
  189.  
  190. void  __vf    VEs_FFT( eVector Y, eVector X, ui size, int dir );
  191. void  __vf    VEs_filter( eVector Y, eVector X, eVector Flt, ui size );
  192. void  __vf    VEs_autocorr( eVector Y, eVector X, ui size );
  193. void  __vf    VEs_xcorr( eVector Z, eVector X, eVector Y, ui size );
  194. extended __vf VEs_spectrum( eVector Spc, ui specsiz, eVector X, ui xsiz,
  195.                             eVector Win );
  196. void  __vf    VEs_convolve( eVector Y, eVector Flt, eVector X,
  197.                             eVector Rsp, ui size );
  198. void  __vf    VEs_deconvolve( eVector Y, eVector Flt, eVector X,
  199.                             eVector Rsp, ui size );
  200.  
  201. #if( defined( __LARGE__ ) || defined( __COMPACT__ ) )
  202.    #define VE_FFT         VEl_FFT
  203.    #define VE_convolve    VEl_convolve
  204.    #define VE_deconvolve  VEl_deconvolve
  205.    #define VE_filter      VEl_filter
  206.    #define VE_autocorr    VEl_autocorr
  207.    #define VE_xcorr       VEl_xcorr
  208.    #define VE_spectrum    VEl_spectrum
  209. #else
  210.    #define VE_FFT         VEs_FFT
  211.    #define VE_convolve    VEs_convolve
  212.    #define VE_deconvolve  VEs_deconvolve
  213.    #define VE_filter      VEs_filter
  214.    #define VE_autocorr    VEs_autocorr
  215.    #define VE_xcorr       VEs_xcorr
  216.    #define VE_spectrum    VEs_spectrum
  217. #endif
  218.  
  219.  
  220.  
  221. /********************** Analysis ****************************************/
  222.  
  223. void        __vf  VE_derivC( eVector Y, eVector X, ui size, extended Deltat );
  224. void        __vf  VE_derivV( eVector Z, eVector X, eVector Y, ui size );
  225. extended __vf  VE_integralC( eVector X, ui size, extended Deltat );
  226. void        __vf  VE_runintegralC( eVector Y, eVector X, ui size, extended Deltat );
  227. extended __vf  VE_integralV( eVector X, eVector Y, ui size );
  228. void        __vf  VE_runintegralV( eVector Z, eVector X, eVector Y, ui size );
  229. void        __vf  VE_smooth( eVector Y, eVector X, ui size, unsigned deg );
  230. int         __vf  VE_ismonoton( eVector X, ui size );
  231.  
  232.  
  233. /****************** Geometrical Vector Arithmetics **************************/
  234.  
  235. extended     __vf  VE_scalprod( eVector X, eVector Y, ui size );
  236. void            __vf  VE_xprod( eVector Z, eVector X, eVector Y );
  237. extended     __vf  VE_Euclid( eVector X, ui size );
  238.  
  239.  
  240. /***************************  Input and Output *****************************/
  241.  
  242. void  __vf    VE_fprint( FILE _VFAR *stream, eVector X, ui size,
  243.                                     unsigned nperline, unsigned linewidth );
  244. #if !(defined _Windows || defined _WINDOWS)
  245.    void  __vf    VE_cprint( eVector X, ui size, unsigned nperline );
  246. #endif
  247. #define       VE_print( x, sz, npl )  VE_fprint( stdout, x, sz, npl, 80 )
  248.                   /* VE_print is usable only for DOS and EasyWin!  */
  249. void  __vf    VE_write( FILE _VFAR *stream, eVector X, ui size  ); /* in ascii */
  250. void  __vf    VE_read( eVector X, ui size, FILE _VFAR *stream );
  251. void  __vf    VE_nwrite( FILE _VFAR *stream, unsigned n, ui size, ... );
  252. void  __vf    VE_nread( unsigned n, ui size, FILE _VFAR *stream, ... );
  253. void  __vf    VE_setWriteFormat( char _VFAR *FormatString );
  254.                                             /* for VE_write and VE_nwrite */
  255. void  __vf    VE_setWriteSeparate( char _VFAR *SepString ); /* for VE_write */
  256. void  __vf    VE_setNWriteSeparate( char _VFAR *SepString ); /* for VE_nwrite */
  257. #ifdef V_HUGE
  258.     void  __vf    VE_store( FILE _VFAR *stream, eVector X, ui size );
  259.     void  __vf    VE_recall( eVector X, ui size, FILE _VFAR *stream  );
  260. #else
  261.     #ifdef __cplusplus
  262.          void  inline VE_store( FILE _VFAR *stream, eVector X, ui size )
  263.          {    fwrite( X, sizeof(extended), size, stream ); 
  264.          }
  265.          void  inline VE_recall( eVector X, ui size, FILE _VFAR *stream )
  266.          {    fread(  X, sizeof(extended), size, stream );
  267.          }
  268.     #else
  269.         #define VE_store( str, X, sz )  \
  270.                      fwrite( X, sizeof(extended), sz, str )
  271.         #define VE_recall( X, sz, str ) \
  272.                      fread(  X, sizeof(extended), sz, str )
  273.     #endif
  274. #endif      /* VE_store, VE_recall in binary format */
  275.  
  276. #ifdef __cplusplus
  277. }  //  end of extern "C"
  278.         // alternative syntax of convolution and deconvolution
  279.     inline void  VEl_convolve( eVector Y, eVector Flt, eVector X, eVector Rsp,
  280.                            ui size, extended TruncRe, extended TruncIm )
  281.     {   VE_setRspEdit( ecplx( TruncRe, TruncIm ) );
  282.         VEl_convolve( Y, Flt, X, Rsp, size );
  283.     }
  284.     inline void  VEl_deconvolve( eVector Y, eVector Flt, eVector X, eVector Rsp,
  285.                            ui size, extended TruncRe, extended TruncIm )
  286.     {   VE_setRspEdit( ecplx( TruncRe, TruncIm ) );
  287.         VEl_deconvolve( Y, Flt, X, Rsp, size );
  288.     }
  289.     inline void  VEs_convolve( eVector Y, eVector Flt, eVector X, eVector Rsp,
  290.                            ui size, extended TruncRe, extended TruncIm )
  291.     {   VE_setRspEdit( ecplx( TruncRe, TruncIm ) );
  292.         VEs_convolve( Y, Flt, X, Rsp, size );
  293.     }
  294.     inline void  VEs_deconvolve( eVector Y, eVector Flt, eVector X, eVector Rsp,
  295.                            ui size, extended TruncRe, extended TruncIm )
  296.     {   VE_setRspEdit( ecplx( TruncRe, TruncIm ) );
  297.         VEs_deconvolve( Y, Flt, X, Rsp, size );
  298.     }
  299. #endif    /*  __cplusplus  */
  300.  
  301.  
  302.  
  303. #else  /* no IEEE number support with Visual C++, Watcom C, and Optima++.
  304.           The following about 200 lines apply only to these compilers */
  305.  
  306. #define VE_vector   VD_vector
  307. #define VE_vector0  VD_vector0
  308. #define VE_Pelement VD_Pelement
  309. #define VE_element( X, n )  (*VE_Pelement( X, n ))
  310.  
  311. #define VE_equ0         VD_equ0
  312. #define VE_equ1         VD_equ1
  313. #define VE_equC         VD_equC
  314. #define VE_equV         VD_equV
  315. #define VEx_equV        VDx_equV
  316. #define VE_ramp         VD_ramp
  317. #define VE_Parzen       VD_Parzen
  318. #define VE_Welch        VD_Welch
  319. #define VE_Hanning      VD_Hanning
  320. #define VE_comb         VD_comb
  321. #define VE_random       VD_random
  322. #define VE_noise        VD_nois
  323. #define V_SItoE         V_SItoD
  324. #define V_ItoE          V_ItoD
  325. #define V_LItoE         V_LItoD
  326. #define V_QItoE         V_QItoD
  327. #define V_UStoE         V_UStoD
  328. #define V_UtoE          V_UtoD
  329. #define V_ULtoE         V_ULtoD
  330.  
  331. #define V_FtoE          V_FtoD
  332. #define V_EtoF          V_DtoF
  333. #define V_DtoE          VD_equV
  334. #define V_EtoD          VD_equV
  335.  
  336. #define VE_reflect      VD_reflect
  337. #define VE_rev          VD_rev
  338. #define VE_rotate       VD_rotate
  339. #define VE_delete       VD_delete
  340. #define VE_insert       VD_insert
  341. #define VE_sort         VD_sort
  342. #define VE_sortind      VD_sortind
  343. #define VE_subvector    VD_subvector
  344. #define VE_indpick      VD_indpick
  345. #define VE_indput       VD_indput
  346.  
  347. #define VE_searchC      VD_searchC
  348. #define VE_searchV      VD_searchV
  349. #define VE_polyinterpol VD_polyinterpol
  350. #define VE_ratinterpol  VD_ratinterpol
  351. #define VE_splinederiv2 VD_splinederiv2
  352. #define VE_splineinterpol VD_splineinterpol
  353.  
  354. #define VE_subvector_equC  VD_subvector_equC
  355. #define VE_subvector_equV  VD_subvector_equV
  356.  
  357. #define VE_max          VD_max
  358. #define VE_min          VD_min
  359. #define VE_absmax       VD_absmax
  360. #define VE_absmin       VD_absmin
  361. #define VE_maxind       VD_maxind
  362. #define VE_minind       VD_minind
  363. #define VE_absmaxind    VD_absmaxind
  364. #define VE_absminind    VD_absminind
  365.  
  366. #define VE_localmaxima  VD_localmaxima
  367. #define VE_localminima  VD_localminima
  368. #define VE_runmax       VD_runmax
  369. #define VE_runmin       VD_runmin
  370. #define VE_sum          VD_sum
  371. #define VE_prod         VD_prod
  372. #define VE_runsum       VD_runsum
  373. #define VE_runprod      VD_runprod
  374. #define VE_iselementC   VD_iselementC
  375. #define VE_iselementV   VD_iselementC
  376.  
  377. #define VE_sumabs       VD_sumabs
  378. #define VE_mean         VD_mean
  379. #define VE_meanwW       VD_meanwW
  380. #define VE_meanabs      VD_meanabs
  381. #define VE_selected_mean VD_selected_mean
  382. #define VE_median       VD_median
  383. #define VE_sumdevC      VD_sumdevC
  384. #define VE_sumdevV      VD_sumdevV
  385. #define VE_avdevC       VD_avdevC
  386. #define VE_avdevV       VD_avdevV
  387. #define VE_ssq          VD_ssq
  388. #define VE_rms          VD_rms
  389. #define VE_ssqdevC      VD_ssqdevC
  390. #define VE_ssqdevV      VD_ssqdevV
  391. #define VE_meanvar      VD_meanvar
  392. #define VE_meanvarwW    VD_meanvarwW
  393. #define VE_varianceC    VD_varianceC
  394. #define VE_varianceV    VD_varianceV
  395. #define VE_varianceCwW  VD_varianceCwW
  396. #define VE_varianceVwW  VD_varianceVwW
  397. #define VE_chi2         VD_chi2
  398. #define VE_chiabs       VD_chiabs
  399. #define VE_corrcoeff    VD_corrcoeff
  400. #define VE_distribution VD_distribution
  401. #define VE_linregress   VD_linregress
  402. #define VE_linregresswW VD_linregresswW
  403.  
  404. #define VE_setRspEdit   VD_setRspEdit
  405. #define VE_getRspEdit   VD_getRspEdit
  406. #define VEl_FFT         VDl_FFT
  407. #define VEl_filter      VDl_filter
  408. #define VEl_autocorr    VDl_autocorr
  409. #define VEl_xcorr       VDl_xcorr
  410. #define VEl_spectrum    VDl_spectrum
  411. #define VEl_convolve    VDl_convolve
  412. #define VEl_deconvolve  VDl_deconvolve
  413. #define VEs_FFT         VDs_FFT
  414. #define VEs_filter      VDs_filter
  415. #define VEs_autocorr    VDs_autocorr
  416. #define VEs_xcorr       VDs_xcorr
  417. #define VEs_spectrum    VDs_spectrum
  418. #define VEs_convolve    VDs_convolve
  419. #define VEs_deconvolve  VDs_deconvolve
  420. #define VEl_FFT         VDl_FFT
  421. #define VEl_filter      VDl_filter
  422. #define VEl_autocorr    VDl_autocorr
  423. #define VEl_xcorr       VDl_xcorr
  424. #define VEl_spectrum    VDl_spectrum
  425. #define VEl_convolve    VDl_convolve
  426. #define VEl_deconvolve  VDl_deconvolve
  427. #define VE_FFT          VEs_FFT
  428. #define VE_convolve     VEs_convolve
  429. #define VE_deconvolve   VEs_deconvolve
  430. #define VE_filter       VEs_filter
  431. #define VE_autocorr     VEs_autocorr
  432. #define VE_xcorr        VEs_xcorr
  433. #define VE_spectrum     VEs_spectrum
  434.  
  435. #define VE_derivC       VD_derivC
  436. #define VE_derivV       VD_derivV
  437. #define VE_integralC    VD_integralC
  438. #define VE_runintegralC VD_runintegralC
  439. #define VE_integralV    VD_integralV
  440. #define VE_runintegralV VD_runintegralV
  441. #define VE_smooth       VD_smooth
  442. #define VE_ismonoton    VD_ismonoton
  443.  
  444. #define VE_scalprod     VD_scalprod
  445. #define VE_xprod        VD_xprod
  446. #define VE_Euclid       VD_Euclid
  447.  
  448. #define VE_fprint       VD_fprint
  449. #define VE_print        VD_print
  450. #define VE_write        VD_write
  451. #define VE_read         VD_read
  452. #define VE_nwrite       VD_nwrite
  453. #define VE_nread        VD_nread
  454. #define VE_setWriteFormat   VD_setWriteFormat
  455. #define VE_setWriteSeparate VD_setWriteSeparate   
  456. #define VE_store        VD_store
  457. #define VE_recall       VD_recall
  458.  
  459.  
  460. #endif   /*  Borland, Microsoft, or Powersoft  */
  461.  
  462.  
  463. #endif   /*  __VESTD_H  */
  464.